client/Command(cmd as command_text)
	if(!IsTelnet()) return ..()
	var/real_cmd = copytext(cmd, 1, findtext(cmd, " "))
	var/param = copytext(cmd, findtext(cmd, " ") + 1)
	switch(lowertext(real_cmd))
		if("color")
			src.Color()
		if("say")
			if(!param || !HasSustenance(param))
				System_UserMessage(src, "You must enter a message.")
			else
				Say(param)
		if("emote")
			if(!param || !HasSustenance(param))
				System_UserMessage(src, "You must enter a message.")
			else
				Say(param)
		if("who")
			var
				available = ""
				busy = ""
				away = ""
				idle = ""
			for(var/client/C in Available)
				if(length(available)) available += ", "
				available += C.name

			for(var/client/C in Busy)
				if(length(busy)) busy += ", "
				busy += C.name

			for(var/client/C in Away)
				if(length(away)) away += ", "
				away += C.name

			for(var/client/C in Idle)
				if(length(idle)) idle += ", "
				idle += C.name

			System_UserMessage(src, "Total Users: [Available.len + Busy.len + Away.len + Idle.len]")
			if(length(available)) System_UserMessage(src, "Available: [available]")
			if(length(busy)) System_UserMessage(src, "Busy: [busy]")
			if(length(away)) System_UserMessage(src, "Away: [away]")
			if(length(idle)) System_UserMessage(src, "Idle: [idle]")


client/proc/IsTelnet()
	return !computer_id
